package com.huli.service;

import com.huli.domain.Orders;
import com.huli.domain.User;
import com.huli.domain.UserCoupon;
import com.huli.param.OrdersCreateParam;
import com.huli.param.UserInfoParam;
import com.huli.param.UserLoginParam;
import com.huli.param.UserRegisterParam;
import org.joda.time.DateTime;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

public interface UserService {

    void register(UserRegisterParam param);

    String login(UserLoginParam param);

    User getUser(int userId);

    void userRent(OrdersCreateParam param);

    boolean timeRule(List<Orders> carportOrders, Date startTime, Date endTime);

    void changeSource(int userId, int userSource);

    void changeStatus();

    void changeVip();

    User getUserByInvite(String userInvite);

    void buyVip(int userId, int vipId);

    void changeInfo(UserInfoParam param);

    void changeMoney(int userId, BigDecimal useMoney);

    List<User> userRecharge();
}
